package com.zhoux.api.io.io;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

/**
 * @author taoyi
 * @version 1.0
 * @date 2021/3/26 15:53
 *
 * 本类用于测试对象流
 *
 * 对象流: 对象流是一对高级流, 在流连接中的作用是进行队列的序列化与反序列化. 方便我们进行对象的读写操作
 * 对象序列化: 将一个对象按照其结构转换为一组字节的过程
 * 反序列化: 将一组字节还原为 Java 对象的过程
 *
 * java.io.ObjectInputStream 和 java.io.ObjectOutputStream
 *
 */
public class OOSDemo {
    public static void main(String[] args) {
        String[] oth = {"111","222"};
        Person p = new Person("zhoux",18,"1",oth);
        System.out.println(p);

        FileOutputStream fos = null;
        ObjectOutputStream oos = null;

        try {
            oos = new ObjectOutputStream(new FileOutputStream(".\\src\\main\\java\\com\\ty\\file\\oos.txt"));
            oos.writeObject(p);
            System.out.println("写出完毕~");
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                oos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }
}
